<?php
/**
 * 文章标签模型
 * ============================================================================
 * 版权所有 2017 福建华晟网络科技，并保留所有权利。
 * 网站地址: http://www.fldcms.cn
 * ----------------------------------------------------------------------------
 * 这不是一个自由软件！您只能在不用于商业目的的前提下对程序代码进行修改和使用 .
 * 不允许对程序代码以任何形式任何目的的再发布。
 * ============================================================================
 * Author: fld
 * Date: 2017-07-01
 */
namespace app\common\model;
use think\Db;
class ArticleTagModel extends BaseModel {
	private $table_name = 'article_tag';
	
	/**
	 * 添加文章标签
	 * @param string $tags
	 * @param int $article_id
	 */
	public function insert_tags($tags,$article_id){
	    if(!empty($tags) && !empty($article_id)){
	       $tag_array = explode(',', $tags);
	       foreach ($tag_array as $k=>$v){
	           $tag_info = model('Tag')->getTagInfo(array('tag_name'=>trim($v)));
	           if(empty($tag_info)){
	               $tag_id = model('Tag')->insertData(array('tag_name'=>trim($v)));
	           }else{
	               $tag_id = $tag_info['id'];
	           }
	           $this->insert_tag(array('tag_id'=>$tag_id,'article_id'=>$article_id));
	       }
	    }
	}
	/**
	 * 添加文章标签关联信息
	 */
	public function insert_tag($data){
	    return $this->add_table($this->table_name,$data,0);
	}
	/**
	 * 删除文章标签关联信息
	 * @param array|string $condition 条件
	 */
	public function delete_tag($condition){
		return $this->delete_table($this->table_name,$condition);
	}
	
	/**
	 * 修改文章标签
	 * @param string $tags
	 * @param int $article_id
	 */
	public function update_tags($tags,$article_id){
		//先删除后添加
		$this->delete_tag(array('article_id'=>$article_id));
		$this->insert_tags($tags, $article_id);
	}
	
	/**
	 * 获取文章标签列表
	 * @param unknown $result
	 */
	public function getArticleTagList($condition){
		$list = Db::table(config('database')['prefix'].$this->table_name)->alias('a')
		->join(config('database')['prefix'].'tag t','a.tag_id = t.id')
		->field('t.id,t.tag_name')
		->where($condition)
		->select();
		return $list;
	}
	
}
